// -----------------------------------------------------------------------------
// Generate By Furion Tools v1.6.0                            
// -----------------------------------------------------------------------------

using Furion.DatabaseAccessor;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using System;
using System.Collections.Generic;

#nullable disable

namespace iemtm.WeChat.Core
{
    public partial class BaseStationMonthlyGen : IEntity<MasterDbContextLocator>, IEntityTypeBuilder<BaseStationMonthlyGen, MasterDbContextLocator>
    {

        public int Id { get; set; }
        public string ProvinceName { get; set; }
        public string CityName { get; set; }
        public string AreaCode { get; set; }
        public string AreaName { get; set; }
        public int? BaseStationID { get; set; }
        public string BaseStationCode { get; set; }
        public string BaseStationName { get; set; }
        public int? Year { get; set; }
        public int? Season { get; set; }
        public string Month { get; set; }
        public DateTime? CreateDate { get; set; }
        public int? AnnounceTimes { get; set; }
        public int? GenRunTimes { get; set; }
        public decimal? PlanGenHour { get; set; }
        public decimal? GenRunPeriod { get; set; }
        public decimal? ValidDuration { get; set; }
        public decimal? KWenergy { get; set; }
        public decimal? GenFee { get; set; }
        public decimal? GenFeeByHour { get; set; }
        public decimal? TrafficFee { get; set; }
        public decimal? EmployeeFee { get; set; }
        public decimal? OtherFee { get; set; }
        public decimal? Eleprice { get; set; }
        public decimal? WastePrice { get; set; }
        public decimal? GenWasteFee { get; set; }
        public string PrjCode { get; set; }
        public string PrjName { get; set; }
        public decimal? LoadOilConsumeEach { get; set; }
        public decimal? EmptyOilConsumeEach { get; set; }
        public string BaseStationType { get; set; }
        public decimal? GenRunPeriodMobile { get; set; }
        public decimal? ValidDurationMobile { get; set; }
        public decimal? KWenergyMobile { get; set; }
        public decimal? LoadOilConsumeEachMobile { get; set; }
        public decimal? EmptyOilConsumeEachMobile { get; set; }
        public int? GenRunTimesMobile { get; set; }
        public decimal? GenRunPeriodUnicom { get; set; }
        public decimal? ValidDurationUnicom { get; set; }
        public decimal? KWenergyUnicom { get; set; }
        public decimal? LoadOilConsumeEachUnicom { get; set; }
        public decimal? EmptyOilConsumeEachUnicom { get; set; }
        public int? GenRunTimesUnicom { get; set; }
        public decimal? GenRunPeriodTelecom { get; set; }
        public decimal? ValidDurationTelecom { get; set; }
        public decimal? KWenergyTelecom { get; set; }
        public decimal? LoadOilConsumeEachTelecom { get; set; }
        public decimal? EmptyOilConsumeEachTelecom { get; set; }
        public int? GenRunTimesTelecom { get; set; }
        public string BaseStationTTCode { get; set; }
    
        public void Configure(EntityTypeBuilder<BaseStationMonthlyGen> entityBuilder, DbContext dbContext, Type dbContextLocator)
        {
                entityBuilder.Property(e => e.AreaCode).HasMaxLength(50);

                entityBuilder.Property(e => e.AreaName).HasMaxLength(50);

                entityBuilder.Property(e => e.BaseStationCode).HasMaxLength(50);

                entityBuilder.Property(e => e.BaseStationName).HasMaxLength(50);

                entityBuilder.Property(e => e.BaseStationTTCode).HasMaxLength(50);

                entityBuilder.Property(e => e.BaseStationType).HasMaxLength(50);

                entityBuilder.Property(e => e.CityName).HasMaxLength(50);

                entityBuilder.Property(e => e.CreateDate).HasColumnType("datetime");

                entityBuilder.Property(e => e.Eleprice).HasColumnType("decimal(18, 2)");

                entityBuilder.Property(e => e.EmployeeFee).HasColumnType("decimal(18, 2)");

                entityBuilder.Property(e => e.EmptyOilConsumeEach).HasColumnType("decimal(18, 2)");

                entityBuilder.Property(e => e.EmptyOilConsumeEachMobile).HasColumnType("decimal(18, 2)");

                entityBuilder.Property(e => e.EmptyOilConsumeEachTelecom).HasColumnType("decimal(18, 2)");

                entityBuilder.Property(e => e.EmptyOilConsumeEachUnicom).HasColumnType("decimal(18, 2)");

                entityBuilder.Property(e => e.GenFee).HasColumnType("decimal(18, 2)");

                entityBuilder.Property(e => e.GenFeeByHour).HasColumnType("decimal(18, 2)");

                entityBuilder.Property(e => e.GenRunPeriod).HasColumnType("decimal(18, 4)");

                entityBuilder.Property(e => e.GenRunPeriodMobile).HasColumnType("decimal(18, 4)");

                entityBuilder.Property(e => e.GenRunPeriodTelecom).HasColumnType("decimal(18, 4)");

                entityBuilder.Property(e => e.GenRunPeriodUnicom).HasColumnType("decimal(18, 4)");

                entityBuilder.Property(e => e.GenWasteFee).HasColumnType("decimal(18, 2)");

                entityBuilder.Property(e => e.KWenergy).HasColumnType("decimal(18, 3)");

                entityBuilder.Property(e => e.KWenergyMobile).HasColumnType("decimal(18, 3)");

                entityBuilder.Property(e => e.KWenergyTelecom).HasColumnType("decimal(18, 3)");

                entityBuilder.Property(e => e.KWenergyUnicom).HasColumnType("decimal(18, 3)");

                entityBuilder.Property(e => e.LoadOilConsumeEach).HasColumnType("decimal(18, 2)");

                entityBuilder.Property(e => e.LoadOilConsumeEachMobile).HasColumnType("decimal(18, 2)");

                entityBuilder.Property(e => e.LoadOilConsumeEachTelecom).HasColumnType("decimal(18, 2)");

                entityBuilder.Property(e => e.LoadOilConsumeEachUnicom).HasColumnType("decimal(18, 2)");

                entityBuilder.Property(e => e.Month)
                    .HasMaxLength(10)
                    .IsUnicode(false);

                entityBuilder.Property(e => e.OtherFee).HasColumnType("decimal(18, 2)");

                entityBuilder.Property(e => e.PlanGenHour).HasColumnType("decimal(18, 4)");

                entityBuilder.Property(e => e.PrjCode).HasMaxLength(100);

                entityBuilder.Property(e => e.PrjName).HasMaxLength(100);

                entityBuilder.Property(e => e.ProvinceName).HasMaxLength(50);

                entityBuilder.Property(e => e.TrafficFee).HasColumnType("decimal(18, 2)");

                entityBuilder.Property(e => e.ValidDuration).HasColumnType("decimal(18, 4)");

                entityBuilder.Property(e => e.ValidDurationMobile).HasColumnType("decimal(18, 4)");

                entityBuilder.Property(e => e.ValidDurationTelecom).HasColumnType("decimal(18, 4)");

                entityBuilder.Property(e => e.ValidDurationUnicom).HasColumnType("decimal(18, 4)");

                entityBuilder.Property(e => e.WastePrice).HasColumnType("decimal(18, 2)");
        }

    }
}

